{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "year=2019\n",
    "month=11"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Developer Salary in First-Tier Cities 程序员工资调查\n",
    "我在4月1日到3日之间，抓取了某招聘网站的软件和互联网类招聘数据40万条，其中通过程序判断为程序员的14万条。地域方面，我选择了24个主要城市。不过本文只以一线城市为研究对象。这样是为了和我2017年6月的数据做对比。\n",
    "\n",
    "提到2017年的文章，现在居然还有很多人，把这篇文章拿出来炒作。对于社会来说，可气的是，他们直接把2017改成2019，就发表了，这不是骗人么？！对于我来说，可气的是，他们转载居然还冒充是原创，是可忍熟不可忍！"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sys\n",
    "sys.path.append('..')\n",
    "sys.path.append('../py')\n",
    "sys.path.append('../../py')\n",
    "import db\n",
    "import inspect\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "import seaborn as sns\n",
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import weighted\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=db.get_conn()\n",
    "data_original=pd.read_sql(sql=f\"select * from _{year}{month:02} where monthly_salary>0 and city in ('北京','上海','广州','深圳')  and monthly_salary<80000\", con=conn)\n",
    "conn.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_job_ids=['104660258','104142922','108434795','101357291','106253516','110368302','111391233','108665401','109277048'\n",
    "                  ,'73857191','108584955','102824950','102824949','111391233','110884556']\n",
    "data=data_original[~data_original.job_id.isin(error_job_ids)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "#del data['publish_date']\n",
    "#del data['published_on_weekend']\n",
    "#del data['title']\n",
    "#del data['title']\n",
    "#del data['company_title']\n",
    "#del data['company_description']\n",
    "#del data['job_description']\n",
    "#del data['job_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>...</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>25897</td>\n",
       "      <td>116717167</td>\n",
       "      <td>10000</td>\n",
       "      <td>200</td>\n",
       "      <td>海外业务软件工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8676</td>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-14</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>37143</td>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-09-19</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>26509</td>\n",
       "      <td>116813374</td>\n",
       "      <td>12916</td>\n",
       "      <td>200</td>\n",
       "      <td>Java开发工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>算法工程师</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-19</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17091</td>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发工程师（雄安新区岗位）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-29</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 94 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                  title  \\\n",
       "25897  116717167           10000        200       海外业务软件工程师（2020届）   \n",
       "8676   110969579           12500        200  JAVA开发工程师（2019届应届毕业生）   \n",
       "37143   75596794            7500        200               JAVA 工程师   \n",
       "26509  116813374           12916        200       Java开发工程师（2020届）   \n",
       "17091  114568087            3750        151      C#软件开发工程师（雄安新区岗位）   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "25897         软件工程师  一般程序员          None       上海   上海   \n",
       "8676          软件工程师  一般程序员          None       广东   广州   \n",
       "37143         软件工程师  一般程序员          None       广东   深圳   \n",
       "26509         软件工程师  算法工程师          None       广东   广州   \n",
       "17091         软件工程师  一般程序员          None       北京   北京   \n",
       "\n",
       "                                     company_description  ... pl_visual_basic  \\\n",
       "25897  上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...  ...           False   \n",
       "8676   广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...  ...           False   \n",
       "37143  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...  ...           False   \n",
       "26509  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...  ...           False   \n",
       "17091  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...  ...           False   \n",
       "\n",
       "      publish_date published_on_weekend tag_baby_care  tag_five_insurance  \\\n",
       "25897   2019-10-31                False         False                True   \n",
       "8676    2019-10-14                False         False                True   \n",
       "37143   2019-09-19                False         False                True   \n",
       "26509   2019-10-19                 True         False                True   \n",
       "17091   2019-10-29                False         False               False   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "25897          True            False             False              False   \n",
       "8676          False            False             False              False   \n",
       "37143         False            False             False              False   \n",
       "26509         False            False             False              False   \n",
       "17091         False            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "25897      False  \n",
       "8676       False  \n",
       "37143      False  \n",
       "26509      False  \n",
       "17091      False  \n",
       "\n",
       "[5 rows x 94 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=data.sort_values(by='headcount', ascending=False)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pd_weighted_mean(group, avg_name, weight_name):\n",
    "    \"\"\" http://stackoverflow.com/questions/10951341/pandas-dataframe-aggregate-function-using-multiple-columns\n",
    "    In rare instance, we may not have weights, so just return the mean. Customize this if your business case\n",
    "    should return otherwise.\n",
    "    \"\"\"\n",
    "    d = group[avg_name]\n",
    "    w = group[weight_name]\n",
    "    try:\n",
    "        return (d * w).sum() / w.sum()\n",
    "    except ZeroDivisionError:\n",
    "        return d.mean()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Unilateral Stats 总体统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有数据可知，程序员向一线城市集中的趋势非常明显。\n",
    "\n",
    "According to the statistics, significant amount of developers are in the first tier cities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(41993, 94)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "132527"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 5000., 11000., 14000., 20000., 37500.])"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "salary_mean=weighted.weighted_mean(data.monthly_salary.values, data.headcount.values)\n",
    "q=weighted.weighted_quantile(data.monthly_salary.values,[0.025,0.25,0.5,0.75,0.975], data.headcount.values)\n",
    "q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019年11月中国一线城市程序员的平均工资为15998元，工资中位数为14000元，其中95%的人的工资位于5000到37500元之间。\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月中国一线城市程序员的平均工资为{salary_mean:.0f}元，工资中位数为{q[2]:.0f}元，其中95%的人的工资位于{q[0]:.0f}到{q[4]:.0f}元之间。')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In 2019, Developers in China earn 15998 Yuan as average, the median is 14000 Yuan, 95% of them earn between 5000 and 37500 Yuan.\n"
     ]
    }
   ],
   "source": [
    "print(f'In {year}, Developers in China earn {salary_mean:.0f} Yuan as average, '\n",
    "      f'the median is {q[2]:.0f} Yuan, 95% of them earn between {q[0]:.0f} and {q[4]:.0f} Yuan.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1d544b04748>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD2CAYAAADWIPCtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAVPUlEQVR4nO3df4zkd33f8ecLG0vHLT4O4U7xNcG1dCqKsr7i2xq7Me0sGIPjRkEuaqxckyIiHaVWaNqryvGjsgylIBTTGoINVzmWcRNWxhUF6h/8UG/LBQyxtwQO0lipxZpyMSap6VlrDOjIu3/Mx+myO+ZmZ2Z3v4bnQxp59j3f+c7r+93zvPY735ndVBWSJD1juwNIkrrBQpAkARaCJKmxECRJgIUgSWrO3O4AP87znve8Ou+880Za9vHHH2fnzp2bG2gC5puM+cbX5WxgvkkNy7e0tPQXVXXOhldWVZ297N+/v0Z19OjRkZfdDuabjPnG1+VsVeab1LB8wP01xnOuLxlJkgDPIUiSGgtBkgRYCJKkxkKQJAEWgiSpOW0hJNmV5O4kn0ry0SRnJbk5yb1J3rpqubFnkqTtN8oRwgHgPVV1OfAt4GrgjKq6BDg/yd4kV40725zNkiRtVGoDfw8hyR3A2cB/qKq7klwN7ABeBNwzzqyqblnzGAeBgwC9Xm//wsLCSNlWVlaYmZkZeVu2mvkmY77xdTkbmG9Sw/LNz88vVdXcRtc18q+uSHIJsBtYBk608aPAhcDOCWY/oqqOAEcA5ubmqt/vj5RvcXGRUZfdbOcdvnPd7NDsD7n+Dx7f1MddfteVY9+3S/tvGPONr8vZwHyTmma+kU4qJ3ku8D7gtcAKg5/2AWbaOiaZSZI6YJSTymcBHwHeVFUPAUvApe3mfQyOGCaZSZI6YJSXjH6DwUs7b0nyFuAW4NeSnAtcAVwMFHBszJkkqQNOe4RQVTdV1e6q6rfLrUAf+AIwX1Unq+qxcWebsVGSpI0b6+8hVNV3gNunNZMkbT9P6kqSAAtBktRYCJIkwEKQJDUWgiQJsBAkSY2FIEkCLARJUmMhSJIAC0GS1FgIkiTAQpAkNRaCJAmwECRJjYUgSQIsBElSYyFIkoARCyFJL8mxdv26JIvt8idJ3pRkT5Jvrpqf05a9Ocm9Sd66al3rZpKk7XfaP6GZZDdwK7AToKquXXXbHcCHgBcD76iqm1bddhVwRlVdkuR3k+wFZtfOqupPp7tJkqRxpKp+/ALJ2UCAj1VVf9X87wAHquq3krwbeFlb7p6qenOS97brdyW5GtgBvGjtrKpuWfN4B4GDAL1eb//CwsJIG7KyssLMzMxIy2624ydOrpv1dsAjT2zu487u2TX2fbu0/4Yx3/i6nA3MN6lh+ebn55eqam6j6zrtEUJVPQaQZO1N/xx48mjhbuDtwHeBzyS5gMERxYl2+6PAhU8xW/t4R4AjAHNzc9Xv90fakMXFRUZddrO95vCd62aHZk9x/fHT7u6JLB/oj33fLu2/Ycw3vi5nA/NNapr5xnqGSvIc4K9V1YNt9Pmq+n677UvAXmCFwVEBwAyD8xXDZpKkDhj3CfmXgbtWff3JJM9P8izgcuCrwBJwabt9H7D8FDNJUgeM+xrGK4DfXvX1dcBR4AfAB6rqgSQPA8eSnAtcAVwM1JCZJKkDRi6E1SeUq+pX19x2FHjhmtljSfrAy4F3V9VJgGEzSdL229SznFX1HeD2080kSdvPk7qSJMBCkCQ1FoIkCbAQJEmNhSBJAiwESVJjIUiSAAtBktRYCJIkwEKQJDUWgiQJsBAkSY2FIEkCLARJUmMhSJIAC0GS1FgIkiRgxEJI0ktyrF3fk+SbSRbb5Zw2vznJvUneuup+I80kSdvvtIWQZDdwK7CzjV4MvKOq+u3y50muAs6oqkuA85PsHXW2OZslSdqoVNWPXyA5GwjwsarqJ3k38LI2u6eq3pzkve36XUmuBnYALxplVlW3rHm8g8BBgF6vt39hYWGkDVlZWWFmZmb0Ld9Ex0+cXDfr7YBHntjcx53ds2vs+3Zp/w1jvvF1ORuYb1LD8s3Pzy9V1dxG13Xm6RaoqscAkjw5uht4O/Bd4DNJLmBw9HCi3f4ocOEGZmsf7whwBGBubq76/f5IG7K4uMioy2621xy+c93s0Owprj9+2t09keUD/bHv26X9N4z5xtflbGC+SU0z3zjPUJ+vqu8DJPkSsBdYYXAEADDD4KWoUWeSpA4Y5wn5k0men+RZwOXAV4El4NJ2+z5geQMzSVIHjHOEcB1wFPgB8IGqeiDJw8CxJOcCVwAXAzXiTJLUASMfIVRVv/33aFW9sKouqKrfabPHgD7wBWC+qk6OOpvitkiSJjC1s5xV9R3g9nFmkqTt50ldSRJgIUiSGgtBkgRYCJKkxkKQJAEWgiSpsRAkSYCFIElqLARJEmAhSJIaC0GSBFgIkqTGQpAkARaCJKmxECRJgIUgSWosBEkSMGIhJOklOdau/2ySxST/LcmRDOxJ8s02X0xyTlv25iT3JnnrqnWtm0mStt9pCyHJbuBWYGcbvQ54fVW9FPgZYBZ4MfCOquq3y58nuQo4o6ouAc5PsnfYbDM2SpK0camqH79AcjYQ4GNV1V9z2x8CrwJ+C3hZW+6eqnpzkve263cluRrYAbxo7ayqblmzzoPAQYBer7d/YWFhpA1ZWVlhZmZmpGU32/ETJ9fNejvgkSc293Fn9+wa+75d2n/DmG98Xc4G5pvUsHzz8/NLVTW30XWdeboFquoxgCQ/Mk/yK8DXqurPktwNvB34LvCZJBcwOKI40RZ/FLjwKWZrH+8IcARgbm6u+v3+SBuyuLjIqMtuttccvnPd7NDsKa4/ftrdPZHlA/2x79ul/TeM+cbX5WxgvklNM99Yz1BJzgf+FXBZG32+qr7fbvsSsBdYYXBUADDD4OWpYTNJUgds+Am5nVP4MPDaqnrytZFPJnl+kmcBlwNfBZaAS9vt+4Dlp5hJkjpgnCOEw8DPAu9rLyNdC1wHHAV+AHygqh5I8jBwLMm5wBXAxUANmUmSOmDkQnjyhHJVvRF445BFXrhm+ceS9IGXA+9+8mhi2EyStP029SxnVX0HuP10M0nS9vOkriQJsBAkSY2FIEkCNvkcgrbWeUM+EDeqQ7Onhn6gblTL77py7PtK6gaPECRJgIUgSWosBEkSYCFIkhoLQZIEWAiSpMZCkCQBFoIkqbEQJEmAhSBJaiwESRJgIUiSGgtBkgSMWAhJekmOtevPTPKJJJ9L8tpJZ5KkbjhtISTZDdwK7Gyj3wSWquoXgFcnefaEM0lSB6SqfvwCydlAgI9VVT/Jx4HDVfXHSQ4DXwT+xbizqjq65vEOAgcBer3e/oWFhZE2ZGVlhZmZmdG3fBMdP3Fy3ay3Ax55YhvCjGjSfLN7dk0vzBBd+v4O0+V8Xc4G5pvUsHzz8/NLVTW30XWd9g/kVNVjAEmeHO0ETrTrjwK9CWdrH+8IcARgbm6u+v3+SBuyuLjIqMtutmF/aObQ7CmuP97dv0c0ab7lA/3phRmiS9/fYbqcr8vZwHyTmma+cU4qrwA72vWZto5JZpKkDhjnCXkJuLRd3wcsTziTJHXAOK8R3ArcleQlwM8xODdwYoKZJKkDRj5CqKp+++9DwMuBzwGXVdUPJ5lNdWskSWMb6yxiVf0ZcPu0ZpKk7edJXUkSYCFIkhoLQZIEWAiSpMZCkCQBFoIkqbEQJEmAhSBJaiwESRJgIUiSGgtBkgRYCJKkxkKQJAEWgiSpsRAkSYCFIElqLARJEjBmISR5fZLFdvmjJDcn+caq2Wxb7rok9yV5/6r7rptJkrbfWIVQVTdVVb/9neVjwAeBDz85q6rjSfYDlwIXAd9Octmw2XQ2Q5I0qVTV+HdO9gD/HlgErgEeB44DrwPeAHyvqm5McjFwBXBy7ayqrl2zzoPAQYBer7d/YWFhpCwrKyvMzMyMvS3TdPzEyXWz3g545IltCDOiSfPN7tk1vTBDdOn7O0yX83U5G5hvUsPyzc/PL1XV3EbXdeaEWa4BbgJWgMuq6uEkHwJ+EdgJPNiWexToAaeGzH5EVR0BjgDMzc1Vv98fKcji4iKjLrvZXnP4znWzQ7OnuP74pLt780yab/lAf3phhujS93eYLufrcjYw36SmmW/sk8pJngHMMzg6+EpVPdxuuh/Yy6AkdrTZTHusYTNJUgdM8oT8EuCLNXjN6bYk+5KcAbwK+DKwxOB8AcA+YPkpZpKkDpjkNYxXAJ9t198G/D4Q4ONV9Zl2BPHOJDcAr2yXh4bMJEkdMHYhVNWbV13/KnDBmtv/sr2L6Erghqr6OsCwmSRp+23qWc6qegK443QzSdL286SuJAmwECRJjYUgSQIsBElSYyFIkgALQZLUWAiSJMBCkCQ1FoIkCbAQJEmNhSBJAiwESVJjIUiSAAtBktRYCJIkwEKQJDUWgiQJGKMQkpyZ5BtJFttlNsl1Se5L8v5Vy400kyR1wzhHCBcAH66qflX1gbOAS4GLgG8nuSzJ/lFmU9kCSdJUpKo2dofknwHXAI8Dx4EHgJWqujHJxcAVwEnge6ebVdW1Q9Z/EDgI0Ov19i8sLIyUa2VlhZmZmQ1ty2Y5fuLkullvBzzyxDaEGdGk+Wb37JpemCG69P0dpsv5upwNzDepYfnm5+eXqmpuo+s6c4zHvw+4rKoeTvIhYAeDUgB4FOgBp4AHR5itU1VHgCMAc3Nz1e/3Rwq1uLjIqMtuttccvnPd7NDsKa4/Ps7u3hqT5ls+0J9emCG69P0dpsv5upwNzDepaeYb5xngK1X1/Xb9fuCZDEoBYIbBy1ArI842zXlDnpQlSU9tnCfl25LsS3IG8CpgJ4NzAwD7gGVgacSZJKkjxjlCeBvw+0CAjwP/FjiW5Abgle3yEPDOEWaSpI7YcCFU1VcZvNPor7R3DF0J3FBVX9/ITJLUDVM5y1lVTwB3jDOTJHWDn1SWJAEWgiSpsRAkSYCFIElqLARJEmAhSJKa7v5yHT2tbPavCjk0e2ro74hafteVm/q40k8TjxAkSYCFIElqLARJEmAhSJIaC0GSBFgIkqTGQpAkARaCJKmxECRJgIUgSWo2XAhJdiW5O8mnknw0yVlJvpFksV1m23LXJbkvyftX3XfdTJLUDeMcIRwA3lNVlwPfAg4DH66qfrscT7IfuBS4CPh2ksuGzaa0DZKkKUhVjX/n5A7gfzAoiceB48DrgDcA36uqG5NcDFwBnFw7q6prh6zzIHAQoNfr7V9YWBgpy8rKCjMzM3/19fETJ8fers3Q2wGPPLHdKZ7a0zXf7J5dWx9miLX//rqky9nAfJMalm9+fn6pquY2uq6xf9tpkkuA3cCngVuq6uEkHwJ+EdgJPNgWfRToAaeGzNapqiPAEYC5ubnq9/sj5VlcXGT1ssN+M+Z2OjR7iuuPd/eXyz5d8y0f6G99mCHW/vvrki5nA/NNapr5xnoGSPJc4H3APwS+VVXfbzfdD+wFVoAdbTbD4KWpYTNJUkeMc1L5LOAjwJuq6iHgtiT7kpwBvAr4MrDE4HwBwD5g+SlmkqSOGOcI4TeAC4G3JHkLcBS4DQjw8ar6TJJnAO9McgPwynZ5aMhMktQRGy6EqroJuGnN+Lo1y/xlexfRlcANVfV1gGEzSVI3bNpZxKp6ArjjdDNJUjd4YleSBFgIkqTGQpAkARaCJKmxECRJgIUgSWq6+8trpBGct42/s2r5XVdu22NLm8EjBEkSYCFIkhoLQZIEWAiSpMZCkCQBFoIkqfFtp9KYVr/l9dDsqS37s62+3VWbxSMESRJgIUiSGgtBkgRsUyEkuTnJvUneuh2PL0lab8tPKie5Cjijqi5J8rtJ9lbVn251DunpaqO/v2krT3iPY5R8nkjfGqmqrX3A5L3APVV1V5KrgR1Vdcuq2w8CB9uXfwt4YMRVPw/4i6mGnS7zTcZ84+tyNjDfpIble0FVnbPRFW3H2053Aifa9UeBC1ffWFVHgCMbXWmS+6tqbvJ4m8N8kzHf+LqcDcw3qWnm245zCCvAjnZ9ZpsySJLW2I4n4yXg0nZ9H7C8DRkkSWtsx0tG/wU4luRc4Arg4imtd8MvM20x803GfOPrcjYw36Smlm/LTyoDJNkNvBz4bFV9a8sDSJLW2ZZCkCR1jyd0tW2SPDfJy5M8b7uzSPoJKYTt/ORzkl6SY+36M5N8Isnnkrx20tmEuXYluTvJp5J8NMlZw/bTJLMJ8+0G/itwEXA0yTldytfW2UvypUlzbMK+OzPJN5IststskuuS3Jfk/auWG3s2pZw3Jvmldr1L++/1q/bdHyX5YFfyJdmd5K4k9yf54KQ5NprtaV8IWfXJZ+D8JHu38LF3A7cy+GwFwG8CS1X1C8Crkzx7wtkkDgDvqarLgW8BV7NmPw3bd6POJswGcAHwL6vqHcAngZd2LB/AbwM7Jsmxifvuw1XVr6o+cBaDd+5dBHw7yWVJ9o87m0I+krwE+OtV9Ymu7b+qumnVvjsGPNihfL8G/F77XMGzk/zrrcz2tC8EoA/c3q5/iv//ltat8EPgV4DHhmT5LDA34WxsVXVjVX26fXkO8I9Zv5/6E8wmUlX/vaq+kOTvMXgyekWX8iV5KfA4gzKdJMfUszF4Z94/SPKHSW4GXgb85xqcEPwk8BLg708wm0iSZwL/EVhO8st0b/89mXMP0AP+Rofy/R/g55M8B/gZ4G9uZbafhEJY+8nn3lY9cFU9VlUnT5NlktnEklwC7Ab+dwezhUGhfgeoruRLchbwb4DDbdS17+t9wGVVdRHwTAYf9OxSvl8H/hh4N4Oyv6Zj+Z50DXDThFmmne8PgBcAbwD+J4Ojvy3L9pNQCF365POwLJPMJpLkucD7gNd2LRtADVwDfAX4ux3Kdxi4sar+b/u6a/vuK1X1cLt+fwfzvQg40t5S/p8YHPF2KR9JngHMA4sTZpl2vmuBf1pVbwP+BPjVrcz2k1AIXfrk87Ask8zG1n7K/Qjwpqp6qEvZWr43Jvn19uVzgHd1KN9lwDVJFoG/DfxSh7IB3JZkX5IzgFcx+EmwS/n+F3B+uz4HnNexfDB4aeyL7aWyLv2/sRuYbd/bF7PV/19U1dP6ApwNfBl4D4NDrF3bkGGx/fcFwNeAGxgc1p8xyWzCTK9n8FLMYrv8k7X7adi+G3U2hX22G/g0g58eb2yP05l8q7+3k+TYpH338wyOqo4D72Dwg93n2r+dBxi87jz2bAr5ns3gh5HPAve2f9ud2X8t478Drnqq55DtysfgJbavMfjp/tNbnW0q/9Ns94XBk8s/YvCuhu3Ocm7Lsmsas83eT5PMfprydTlbe4wdwKuB86cx+yncf53Nt5XZ/KSyJAn4yTiHIEmaAgtBkgRYCJKkxkKQJAEWgiSp+X+ZRY7hfG2rDgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.monthly_salary.hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It does not look like normal distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NormaltestResult(statistic=14358.529814421252, pvalue=0.0)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.normaltest(data.monthly_salary)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "null hypothesis: x comes from a normal distribution\n",
    "    \n",
    "p=0\n",
    "\n",
    "The null hypothesis can be rejected\n",
    "\n",
    "conclusion: data is not normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Zoom in"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data[data.monthly_salary<40000].monthly_salary.hist()\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0,0), xytext=(2000, 100), color='white')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Role 角色"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Common Functions\n",
    "def get_sub_stats_by_col(data, col):\n",
    "    categories=data[col].unique()\n",
    "    salary_mean=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    salary_median=[]\n",
    "    \n",
    "\n",
    "    count=[]\n",
    "    \n",
    "    categorys_out=[]\n",
    "    for category in categories:\n",
    "        #print(feature)\n",
    "        idata=data[data[col]==category]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(np.average(values, weights=weights))\n",
    "        \n",
    "\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        categorys_out.append(category)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data[col]=[c for c in categorys_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "\n",
    "    return sub_data\n",
    "\n",
    "def get_sub_stats_by_prefix(data, prefix):\n",
    "    \n",
    "    features = [feature for feature in data.columns if feature.startswith(prefix)]\n",
    "    salary_mean=[]\n",
    "    salary_median=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    count=[]\n",
    "    \n",
    "    features_out=[]\n",
    "    for feature in features:\n",
    "        #print(feature)\n",
    "        idata=data[data[feature]==1]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(weighted.weighted_mean(values, weights))\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        features_out.append(feature)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data['rank']=range(0,len(features_out))\n",
    "    sub_data[prefix]=[f.replace(prefix,'') for f in features_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "    sub_data['rank']=range(1,len(features_out)+1)\n",
    "    #sub_data=sub_data.reset_index()\n",
    "    return sub_data\n",
    "\n",
    "def apply_style(sub_data):\n",
    "    return sub_data.style.hide_index().format(\n",
    "    {\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"salary_95_min\":\"{:.0f}\",\"salary_95_max\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031ef\" ><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >career</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031eflevel0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col0\" class=\"data row0 col0\" >系统架构师</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col1\" class=\"data row0 col1\" >25087</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col4\" class=\"data row0 col4\" >50000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col5\" class=\"data row0 col5\" >5306</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow0_col6\" class=\"data row0 col6\" >4.00%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031eflevel0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col0\" class=\"data row1 col0\" >算法工程师</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col1\" class=\"data row1 col1\" >21178</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col3\" class=\"data row1 col3\" >19583</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col5\" class=\"data row1 col5\" >13760</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow1_col6\" class=\"data row1 col6\" >10.38%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031eflevel0_row2\" class=\"row_heading level0 row2\" >0</th>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col0\" class=\"data row2 col0\" >一般程序员</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col1\" class=\"data row2 col1\" >14947</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col2\" class=\"data row2 col2\" >5000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col3\" class=\"data row2 col3\" >12500</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col4\" class=\"data row2 col4\" >35000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col5\" class=\"data row2 col5\" >113230</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow2_col6\" class=\"data row2 col6\" >85.44%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031eflevel0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col0\" class=\"data row3 col0\" >爬虫工程师</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col1\" class=\"data row3 col1\" >14078</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col4\" class=\"data row3 col4\" >35607.1</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col5\" class=\"data row3 col5\" >206</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.16%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031eflevel0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col0\" class=\"data row4 col0\" >生物信息工程师</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col1\" class=\"data row4 col1\" >11300</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col2\" class=\"data row4 col2\" >7000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col3\" class=\"data row4 col3\" >12714</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col4\" class=\"data row4 col4\" >15000</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col5\" class=\"data row4 col5\" >25</td>\n",
       "                        <td id=\"T_d763ada4_fd5d_11e9_ae9f_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.02%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d547d60ec8>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_career = get_sub_stats_by_col(data,'career')\n",
    "data_career.style.format({\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15997.969364733224"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(data.monthly_salary * data.headcount) / data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "132527"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    41993.000000\n",
       "mean         3.155931\n",
       "std          3.939716\n",
       "min          1.000000\n",
       "25%          1.000000\n",
       "50%          2.000000\n",
       "75%          5.000000\n",
       "max        200.000000\n",
       "Name: headcount, dtype: float64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>company_size</th>\n",
       "      <th>company_title</th>\n",
       "      <th>company_type</th>\n",
       "      <th>page_title</th>\n",
       "      <th>ageism</th>\n",
       "      <th>db_Apache_Hive</th>\n",
       "      <th>db_CouchBase</th>\n",
       "      <th>db_CouchDB</th>\n",
       "      <th>db_DB2</th>\n",
       "      <th>db_DynamoDB</th>\n",
       "      <th>db_Elasticsearch</th>\n",
       "      <th>db_FileMaker</th>\n",
       "      <th>db_Firebase</th>\n",
       "      <th>db_Firebird</th>\n",
       "      <th>db_Hbase</th>\n",
       "      <th>db_Informix</th>\n",
       "      <th>db_Ingres</th>\n",
       "      <th>db_MariaDB</th>\n",
       "      <th>db_Memcached</th>\n",
       "      <th>db_MongoDB</th>\n",
       "      <th>db_MySQL</th>\n",
       "      <th>db_Neo4j</th>\n",
       "      <th>db_Netezza</th>\n",
       "      <th>db_Oracle</th>\n",
       "      <th>db_PostgreSQL</th>\n",
       "      <th>db_Redis</th>\n",
       "      <th>db_Riak</th>\n",
       "      <th>db_SAP_HANA</th>\n",
       "      <th>db_SQL_Server</th>\n",
       "      <th>db_SQLite</th>\n",
       "      <th>db_Solr</th>\n",
       "      <th>db_Splunk</th>\n",
       "      <th>db_Sybase</th>\n",
       "      <th>db_Teradata</th>\n",
       "      <th>db_dBase</th>\n",
       "      <th>edu</th>\n",
       "      <th>english</th>\n",
       "      <th>experience</th>\n",
       "      <th>expert_adas</th>\n",
       "      <th>expert_blockchain</th>\n",
       "      <th>expert_embed</th>\n",
       "      <th>expert_expert</th>\n",
       "      <th>expert_gis</th>\n",
       "      <th>_996_yes</th>\n",
       "      <th>_996_no</th>\n",
       "      <th>industry</th>\n",
       "      <th>japanese</th>\n",
       "      <th>job_description</th>\n",
       "      <th>job_summary</th>\n",
       "      <th>job_tags</th>\n",
       "      <th>phone_android</th>\n",
       "      <th>phone_app</th>\n",
       "      <th>phone_iso</th>\n",
       "      <th>pl_c_sharp</th>\n",
       "      <th>pl_cpp</th>\n",
       "      <th>pl_delphi</th>\n",
       "      <th>pl_go</th>\n",
       "      <th>pl_haskell</th>\n",
       "      <th>pl_java</th>\n",
       "      <th>pl_javascript</th>\n",
       "      <th>pl_julia</th>\n",
       "      <th>pl_kotlin</th>\n",
       "      <th>pl_lua</th>\n",
       "      <th>pl_matlab</th>\n",
       "      <th>pl_objective_c</th>\n",
       "      <th>pl_perl</th>\n",
       "      <th>pl_php</th>\n",
       "      <th>pl_python</th>\n",
       "      <th>pl_ruby</th>\n",
       "      <th>pl_rust</th>\n",
       "      <th>pl_scrala</th>\n",
       "      <th>pl_swift</th>\n",
       "      <th>pl_typescript</th>\n",
       "      <th>pl_vba</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>25897</td>\n",
       "      <td>116717167</td>\n",
       "      <td>10000</td>\n",
       "      <td>200</td>\n",
       "      <td>海外业务软件工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>上海海隆软件有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【上海-徐汇区海外业务软件工程师（2020届）_海外业务软件工程师（2020届）招聘_上海海...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>True</td>\n",
       "      <td>针对有志从事软件开发的应届毕业生，在毕业后可选择进入公司培训中心，接受脱产带薪培训，培训内容...</td>\n",
       "      <td>上海-徐汇区|无工作经验|本科|招200人|10-31发布</td>\n",
       "      <td>五险一金,专业培训,员工旅游,年终奖金,弹性工作,定期体检,出国机会,绩效奖金,工作午餐,加薪晋升</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-31</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>37143</td>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>500-1000</td>\n",
       "      <td>深圳四方精创资讯股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>1_3</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...</td>\n",
       "      <td>深圳|1年经验|本科|招200人|09-19发布</td>\n",
       "      <td>五险一金,专业培训,年终奖金,员工旅游</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-09-19</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>26509</td>\n",
       "      <td>116813374</td>\n",
       "      <td>12916</td>\n",
       "      <td>200</td>\n",
       "      <td>Java开发工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>算法工程师</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>广州汇智通信技术有限公司</td>\n",
       "      <td>国企</td>\n",
       "      <td>【广州Java开发工程师（2020届）_Java开发工程师（2020届）招聘_广州汇智通信技...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>广州汇智通信技术有限公司                                  ...</td>\n",
       "      <td>广州|无工作经验|本科|招200人|10-19发布</td>\n",
       "      <td>五险一金,专业培训,定期体检,补充医疗保险,餐饮补贴,通讯补贴,绩效奖金</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-19</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8676</td>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>广州汇智通信技术有限公司</td>\n",
       "      <td>国企</td>\n",
       "      <td>【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>广州汇智通信技术有限公司                                  ...</td>\n",
       "      <td>广州|无工作经验|本科|招200人|10-14发布</td>\n",
       "      <td>五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-14</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17091</td>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发工程师（雄安新区岗位）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>50-150</td>\n",
       "      <td>北京其然科技有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【北京-海淀区C#软件开发工程师（雄安新区岗位）_C#软件开发工程师（雄安新区岗位）招聘_北...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>大专</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...</td>\n",
       "      <td>北京-海淀区|无工作经验|大专|招151人|10-29发布</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-10-29</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                  title  \\\n",
       "25897  116717167           10000        200       海外业务软件工程师（2020届）   \n",
       "37143   75596794            7500        200               JAVA 工程师   \n",
       "26509  116813374           12916        200       Java开发工程师（2020届）   \n",
       "8676   110969579           12500        200  JAVA开发工程师（2019届应届毕业生）   \n",
       "17091  114568087            3750        151      C#软件开发工程师（雄安新区岗位）   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "25897         软件工程师  一般程序员          None       上海   上海   \n",
       "37143         软件工程师  一般程序员          None       广东   深圳   \n",
       "26509         软件工程师  算法工程师          None       广东   广州   \n",
       "8676          软件工程师  一般程序员          None       广东   广州   \n",
       "17091         软件工程师  一般程序员          None       北京   北京   \n",
       "\n",
       "                                     company_description company_size  \\\n",
       "25897  上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...    1000-5000   \n",
       "37143  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...     500-1000   \n",
       "26509  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    1000-5000   \n",
       "8676   广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    1000-5000   \n",
       "17091  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...       50-150   \n",
       "\n",
       "        company_title company_type  \\\n",
       "25897      上海海隆软件有限公司         民营公司   \n",
       "37143  深圳四方精创资讯股份有限公司           合资   \n",
       "26509    广州汇智通信技术有限公司           国企   \n",
       "8676     广州汇智通信技术有限公司           国企   \n",
       "17091      北京其然科技有限公司         民营公司   \n",
       "\n",
       "                                              page_title  ageism  \\\n",
       "25897  【上海-徐汇区海外业务软件工程师（2020届）_海外业务软件工程师（2020届）招聘_上海海...   False   \n",
       "37143  【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站   False   \n",
       "26509  【广州Java开发工程师（2020届）_Java开发工程师（2020届）招聘_广州汇智通信技...   False   \n",
       "8676   【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...   False   \n",
       "17091  【北京-海淀区C#软件开发工程师（雄安新区岗位）_C#软件开发工程师（雄安新区岗位）招聘_北...   False   \n",
       "\n",
       "       db_Apache_Hive  db_CouchBase  db_CouchDB  db_DB2  db_DynamoDB  \\\n",
       "25897           False         False       False   False        False   \n",
       "37143           False         False       False   False        False   \n",
       "26509           False         False       False   False        False   \n",
       "8676            False         False       False   False        False   \n",
       "17091           False         False       False   False        False   \n",
       "\n",
       "       db_Elasticsearch  db_FileMaker  db_Firebase  db_Firebird  db_Hbase  \\\n",
       "25897             False         False        False        False     False   \n",
       "37143             False         False        False        False     False   \n",
       "26509             False         False        False        False     False   \n",
       "8676              False         False        False        False     False   \n",
       "17091             False         False        False        False     False   \n",
       "\n",
       "       db_Informix  db_Ingres  db_MariaDB  db_Memcached  db_MongoDB  db_MySQL  \\\n",
       "25897        False      False       False         False       False     False   \n",
       "37143        False      False       False         False       False      True   \n",
       "26509        False      False       False         False       False     False   \n",
       "8676         False      False       False         False       False     False   \n",
       "17091        False      False       False         False       False     False   \n",
       "\n",
       "       db_Neo4j  db_Netezza  db_Oracle  db_PostgreSQL  db_Redis  db_Riak  \\\n",
       "25897     False       False       True          False     False    False   \n",
       "37143     False       False       True          False     False    False   \n",
       "26509     False       False      False          False     False    False   \n",
       "8676      False       False      False          False     False    False   \n",
       "17091     False       False      False          False     False    False   \n",
       "\n",
       "       db_SAP_HANA  db_SQL_Server  db_SQLite  db_Solr  db_Splunk  db_Sybase  \\\n",
       "25897        False          False      False    False      False      False   \n",
       "37143        False          False      False    False      False      False   \n",
       "26509        False          False      False    False      False      False   \n",
       "8676         False          False      False    False      False      False   \n",
       "17091        False          False      False    False      False      False   \n",
       "\n",
       "       db_Teradata  db_dBase edu  english experience  expert_adas  \\\n",
       "25897        False     False  本科    False         no        False   \n",
       "37143        False     False  本科    False        1_3        False   \n",
       "26509        False     False  本科    False         no        False   \n",
       "8676         False     False  本科    False         no        False   \n",
       "17091        False     False  大专    False         no        False   \n",
       "\n",
       "       expert_blockchain  expert_embed  expert_expert  expert_gis  _996_yes  \\\n",
       "25897              False         False          False       False     False   \n",
       "37143              False         False          False       False     False   \n",
       "26509              False         False          False       False      True   \n",
       "8676               False         False          False       False     False   \n",
       "17091              False         False          False       False     False   \n",
       "\n",
       "       _996_no  industry  japanese  \\\n",
       "25897    False  computer      True   \n",
       "37143    False  computer     False   \n",
       "26509    False  computer     False   \n",
       "8676     False  computer     False   \n",
       "17091    False  computer     False   \n",
       "\n",
       "                                         job_description  \\\n",
       "25897  针对有志从事软件开发的应届毕业生，在毕业后可选择进入公司培训中心，接受脱产带薪培训，培训内容...   \n",
       "37143  岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...   \n",
       "26509  广州汇智通信技术有限公司                                  ...   \n",
       "8676   广州汇智通信技术有限公司                                  ...   \n",
       "17091  熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...   \n",
       "\n",
       "                         job_summary  \\\n",
       "25897  上海-徐汇区|无工作经验|本科|招200人|10-31发布   \n",
       "37143       深圳|1年经验|本科|招200人|09-19发布   \n",
       "26509      广州|无工作经验|本科|招200人|10-19发布   \n",
       "8676       广州|无工作经验|本科|招200人|10-14发布   \n",
       "17091  北京-海淀区|无工作经验|大专|招151人|10-29发布   \n",
       "\n",
       "                                                job_tags  phone_android  \\\n",
       "25897  五险一金,专业培训,员工旅游,年终奖金,弹性工作,定期体检,出国机会,绩效奖金,工作午餐,加薪晋升          False   \n",
       "37143                                五险一金,专业培训,年终奖金,员工旅游          False   \n",
       "26509               五险一金,专业培训,定期体检,补充医疗保险,餐饮补贴,通讯补贴,绩效奖金          False   \n",
       "8676     五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴          False   \n",
       "17091                                                             False   \n",
       "\n",
       "       phone_app  phone_iso  pl_c_sharp  pl_cpp  pl_delphi  pl_go  pl_haskell  \\\n",
       "25897      False      False        True    True      False  False       False   \n",
       "37143      False      False       False   False      False  False       False   \n",
       "26509       True       True        True    True      False  False       False   \n",
       "8676        True       True        True    True      False  False       False   \n",
       "17091      False      False        True   False      False  False       False   \n",
       "\n",
       "       pl_java  pl_javascript  pl_julia  pl_kotlin  pl_lua  pl_matlab  \\\n",
       "25897     True          False     False      False   False      False   \n",
       "37143     True          False     False      False   False      False   \n",
       "26509     True          False     False      False   False      False   \n",
       "8676      True          False     False      False   False      False   \n",
       "17091    False           True     False      False   False      False   \n",
       "\n",
       "       pl_objective_c  pl_perl  pl_php  pl_python  pl_ruby  pl_rust  \\\n",
       "25897           False    False   False       True    False    False   \n",
       "37143           False    False   False      False    False    False   \n",
       "26509           False    False   False      False    False    False   \n",
       "8676            False    False   False      False    False    False   \n",
       "17091           False    False   False      False    False    False   \n",
       "\n",
       "       pl_scrala  pl_swift  pl_typescript  pl_vba  pl_visual_basic  \\\n",
       "25897      False     False          False   False            False   \n",
       "37143      False     False          False   False            False   \n",
       "26509      False     False          False   False            False   \n",
       "8676       False     False          False   False            False   \n",
       "17091      False     False          False   False            False   \n",
       "\n",
       "      publish_date  published_on_weekend  tag_baby_care  tag_five_insurance  \\\n",
       "25897   2019-10-31                 False          False                True   \n",
       "37143   2019-09-19                 False          False                True   \n",
       "26509   2019-10-19                  True          False                True   \n",
       "8676    2019-10-14                 False          False                True   \n",
       "17091   2019-10-29                 False          False               False   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "25897          True            False             False              False   \n",
       "37143         False            False             False              False   \n",
       "26509         False            False             False              False   \n",
       "8676          False            False             False              False   \n",
       "17091         False            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "25897      False  \n",
       "37143      False  \n",
       "26509      False  \n",
       "8676       False  \n",
       "17091      False  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.options.display.max_columns=100\n",
    "data.sort_values(by='headcount', ascending=False).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "132527"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 城市"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "headcount_by_cities = data.groupby(by='city').headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "city\n",
       "上海    43913\n",
       "北京    24282\n",
       "广州    27943\n",
       "深圳    36389\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "headcount_by_cities\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x1d5541157c8>,\n",
       "  <matplotlib.patches.Wedge at 0x1d54e1faf08>,\n",
       "  <matplotlib.patches.Wedge at 0x1d55431e088>,\n",
       "  <matplotlib.patches.Wedge at 0x1d5541a3948>],\n",
       " [Text(0.5559209484057432, 0.949184860353166, '上海'),\n",
       "  Text(-0.9736350124719748, 0.5118934093038294, '北京'),\n",
       "  Text(-0.8018741039377031, -0.7529926436786125, '广州'),\n",
       "  Text(0.715501054262447, -0.8354987979341006, '深圳')],\n",
       " [Text(0.30322960822131445, 0.5177371965562723, '33.1%'),\n",
       "  Text(-0.5310736431665316, 0.27921458689299783, '18.3%'),\n",
       "  Text(-0.4373858748751107, -0.4107232601883341, '21.1%'),\n",
       "  Text(0.39027330232497104, -0.4557266170549639, '27.5%')])"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(headcount_by_cities.values, labels=headcount_by_cities.index, autopct='%1.1f%%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_dae459cc_fd5d_11e9_827f_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >city</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col0\" class=\"data row0 col0\" >北京</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col1\" class=\"data row0 col1\" >17714</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col2\" class=\"data row0 col2\" >3750</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col3\" class=\"data row0 col3\" >15000</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col5\" class=\"data row0 col5\" >24282</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow0_col6\" class=\"data row0 col6\" >18.32%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col0\" class=\"data row1 col0\" >上海</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col1\" class=\"data row1 col1\" >16390</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col4\" class=\"data row1 col4\" >37500</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col5\" class=\"data row1 col5\" >43913</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow1_col6\" class=\"data row1 col6\" >33.14%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col0\" class=\"data row2 col0\" >深圳</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col1\" class=\"data row2 col1\" >16208</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col3\" class=\"data row2 col3\" >14583</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col5\" class=\"data row2 col5\" >36389</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow2_col6\" class=\"data row2 col6\" >27.46%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col0\" class=\"data row3 col0\" >广州</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col1\" class=\"data row3 col1\" >13618</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col5\" class=\"data row3 col5\" >27943</td>\n",
       "                        <td id=\"T_dae459cc_fd5d_11e9_827f_701ce71031efrow3_col6\" class=\"data row3 col6\" >21.08%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d554116648>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_col(data,'city')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_beijing=data[data.city=='北京'].monthly_salary\n",
    "salary_shanghai=data[data.city=='上海'].monthly_salary\n",
    "salary_guangzhou=data[data.city=='广州'].monthly_salary\n",
    "salary_shenzhen=data[data.city=='深圳'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=76.64753200728806, pvalue=2.1976991836501775e-18)"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_beijing, salary_shanghai)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=65.39240548854794, pvalue=6.401689128357858e-16)"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shanghai, salary_shenzhen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=628.9362817745352, pvalue=8.183914879171484e-137)"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shenzhen, salary_guangzhou)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 编程语言"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >rank</th>        <th class=\"col_heading level0 col1\" >pl_</th>        <th class=\"col_heading level0 col2\" >salary_mean</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_min</th>        <th class=\"col_heading level0 col5\" >salary_95_max</th>        <th class=\"col_heading level0 col6\" >head_count</th>        <th class=\"col_heading level0 col7\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col0\" class=\"data row0 col0\" >1</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col1\" class=\"data row0 col1\" >rust</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col2\" class=\"data row0 col2\" >25762</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col3\" class=\"data row0 col3\" >25000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col4\" class=\"data row0 col4\" >9000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col5\" class=\"data row0 col5\" >56000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col6\" class=\"data row0 col6\" >188</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow0_col7\" class=\"data row0 col7\" >0.10%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col0\" class=\"data row1 col0\" >2</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col1\" class=\"data row1 col1\" >python</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col2\" class=\"data row1 col2\" >20483</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col4\" class=\"data row1 col4\" >5250</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col5\" class=\"data row1 col5\" >45000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col6\" class=\"data row1 col6\" >16904</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow1_col7\" class=\"data row1 col7\" >9.12%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col0\" class=\"data row2 col0\" >3</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col1\" class=\"data row2 col1\" >go</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col2\" class=\"data row2 col2\" >20073</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col3\" class=\"data row2 col3\" >17500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col4\" class=\"data row2 col4\" >7000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col5\" class=\"data row2 col5\" >45000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col6\" class=\"data row2 col6\" >16355</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow2_col7\" class=\"data row2 col7\" >8.82%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col0\" class=\"data row3 col0\" >4</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col1\" class=\"data row3 col1\" >matlab</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col2\" class=\"data row3 col2\" >20068</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col3\" class=\"data row3 col3\" >17500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col4\" class=\"data row3 col4\" >5833</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col5\" class=\"data row3 col5\" >45000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col6\" class=\"data row3 col6\" >2766</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow3_col7\" class=\"data row3 col7\" >1.49%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col0\" class=\"data row4 col0\" >5</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col1\" class=\"data row4 col1\" >lua</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col2\" class=\"data row4 col2\" >19089</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col3\" class=\"data row4 col3\" >17500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col4\" class=\"data row4 col4\" >6000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col5\" class=\"data row4 col5\" >40000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col6\" class=\"data row4 col6\" >1870</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow4_col7\" class=\"data row4 col7\" >1.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col0\" class=\"data row5 col0\" >6</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col1\" class=\"data row5 col1\" >cpp</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col2\" class=\"data row5 col2\" >18121</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col3\" class=\"data row5 col3\" >15500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col4\" class=\"data row5 col4\" >5250</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col5\" class=\"data row5 col5\" >40000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col6\" class=\"data row5 col6\" >31215</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow5_col7\" class=\"data row5 col7\" >16.84%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col0\" class=\"data row6 col0\" >7</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col1\" class=\"data row6 col1\" >perl</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col2\" class=\"data row6 col2\" >18093</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col3\" class=\"data row6 col3\" >16500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col4\" class=\"data row6 col4\" >5209</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col5\" class=\"data row6 col5\" >45000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col6\" class=\"data row6 col6\" >1357</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow6_col7\" class=\"data row6 col7\" >0.73%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col0\" class=\"data row7 col0\" >8</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col1\" class=\"data row7 col1\" >ruby</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col2\" class=\"data row7 col2\" >18090</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col3\" class=\"data row7 col3\" >17500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col4\" class=\"data row7 col4\" >4900</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col5\" class=\"data row7 col5\" >36864</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col6\" class=\"data row7 col6\" >536</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow7_col7\" class=\"data row7 col7\" >0.29%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col0\" class=\"data row8 col0\" >9</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col1\" class=\"data row8 col1\" >kotlin</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col2\" class=\"data row8 col2\" >18000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col3\" class=\"data row8 col3\" >17333</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col4\" class=\"data row8 col4\" >9000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col5\" class=\"data row8 col5\" >37500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col6\" class=\"data row8 col6\" >757</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow8_col7\" class=\"data row8 col7\" >0.41%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col0\" class=\"data row9 col0\" >10</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col1\" class=\"data row9 col1\" >haskell</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col2\" class=\"data row9 col2\" >16951</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col3\" class=\"data row9 col3\" >15000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col4\" class=\"data row9 col4\" >7500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col5\" class=\"data row9 col5\" >25000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col6\" class=\"data row9 col6\" >41</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow9_col7\" class=\"data row9 col7\" >0.02%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col0\" class=\"data row10 col0\" >11</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col1\" class=\"data row10 col1\" >swift</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col2\" class=\"data row10 col2\" >16876</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col3\" class=\"data row10 col3\" >15000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col4\" class=\"data row10 col4\" >7000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col5\" class=\"data row10 col5\" >35396</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col6\" class=\"data row10 col6\" >1801</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow10_col7\" class=\"data row10 col7\" >0.97%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col0\" class=\"data row11 col0\" >12</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col1\" class=\"data row11 col1\" >typescript</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col2\" class=\"data row11 col2\" >16016</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col3\" class=\"data row11 col3\" >14000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col4\" class=\"data row11 col4\" >6500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col5\" class=\"data row11 col5\" >34166</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col6\" class=\"data row11 col6\" >550</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow11_col7\" class=\"data row11 col7\" >0.30%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col0\" class=\"data row12 col0\" >13</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col1\" class=\"data row12 col1\" >java</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col2\" class=\"data row12 col2\" >15852</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col3\" class=\"data row12 col3\" >14000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col4\" class=\"data row12 col4\" >5250</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col5\" class=\"data row12 col5\" >37500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col6\" class=\"data row12 col6\" >59806</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow12_col7\" class=\"data row12 col7\" >32.26%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col0\" class=\"data row13 col0\" >14</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col1\" class=\"data row13 col1\" >php</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col2\" class=\"data row13 col2\" >15489</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col3\" class=\"data row13 col3\" >12500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col4\" class=\"data row13 col4\" >4500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col5\" class=\"data row13 col5\" >37500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col6\" class=\"data row13 col6\" >8529</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow13_col7\" class=\"data row13 col7\" >4.60%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col0\" class=\"data row14 col0\" >15</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col1\" class=\"data row14 col1\" >objective_c</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col2\" class=\"data row14 col2\" >14695</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col3\" class=\"data row14 col3\" >13714</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col4\" class=\"data row14 col4\" >4775</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col5\" class=\"data row14 col5\" >25958</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col6\" class=\"data row14 col6\" >177</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow14_col7\" class=\"data row14 col7\" >0.10%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col0\" class=\"data row15 col0\" >16</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col1\" class=\"data row15 col1\" >visual_basic</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col2\" class=\"data row15 col2\" >13990</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col3\" class=\"data row15 col3\" >13833</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col4\" class=\"data row15 col4\" >6250</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col5\" class=\"data row15 col5\" >22500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col6\" class=\"data row15 col6\" >17</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow15_col7\" class=\"data row15 col7\" >0.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col0\" class=\"data row16 col0\" >17</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col1\" class=\"data row16 col1\" >javascript</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col2\" class=\"data row16 col2\" >13630</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col3\" class=\"data row16 col3\" >12500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col4\" class=\"data row16 col4\" >4283</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col5\" class=\"data row16 col5\" >27500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col6\" class=\"data row16 col6\" >21376</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow16_col7\" class=\"data row16 col7\" >11.53%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col0\" class=\"data row17 col0\" >18</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col1\" class=\"data row17 col1\" >c_sharp</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col2\" class=\"data row17 col2\" >13141</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col3\" class=\"data row17 col3\" >12500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col4\" class=\"data row17 col4\" >4250</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col5\" class=\"data row17 col5\" >27500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col6\" class=\"data row17 col6\" >20470</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow17_col7\" class=\"data row17 col7\" >11.04%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col0\" class=\"data row18 col0\" >19</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col1\" class=\"data row18 col1\" >delphi</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col2\" class=\"data row18 col2\" >13039</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col3\" class=\"data row18 col3\" >12500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col4\" class=\"data row18 col4\" >5283</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col5\" class=\"data row18 col5\" >22883</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col6\" class=\"data row18 col6\" >454</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow18_col7\" class=\"data row18 col7\" >0.24%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col0\" class=\"data row19 col0\" >20</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col1\" class=\"data row19 col1\" >vba</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col2\" class=\"data row19 col2\" >12336</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col3\" class=\"data row19 col3\" >11500</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col4\" class=\"data row19 col4\" >6681</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col5\" class=\"data row19 col5\" >25000</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col6\" class=\"data row19 col6\" >209</td>\n",
       "                        <td id=\"T_dcf97d9e_fd5d_11e9_a439_701ce71031efrow19_col7\" class=\"data row19 col7\" >0.11%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d5542d44c8>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_prefix(data,'pl_')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据显示，haskell才是最赚钱的编程语言。python是主流语言里面最赚钱的，比java的工资多了3000元！vb是最不赚钱的了。其中，最赚钱的编程语言和最不赚钱的，工资居然差了2倍。所以，要选好编程语言呀！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 教育"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "edu_counts=data[~(data.edu=='')].groupby(by=['edu']).headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "edu\n",
       "初中及以下       16\n",
       "博士         247\n",
       "大专       33084\n",
       "本科       74215\n",
       "硕士        4226\n",
       "高中         198\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "edu_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(edu_counts.values, labels=edu_counts.index, autopct='%1.1f%%')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_ded776ac_fd5d_11e9_b767_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >edu</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col0\" class=\"data row0 col0\" >博士</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col1\" class=\"data row0 col1\" >28755</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col2\" class=\"data row0 col2\" >12500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col3\" class=\"data row0 col3\" >27500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col4\" class=\"data row0 col4\" >54156</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col5\" class=\"data row0 col5\" >247</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.22%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col0\" class=\"data row1 col0\" >硕士</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col1\" class=\"data row1 col1\" >21045</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col2\" class=\"data row1 col2\" >4000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col5\" class=\"data row1 col5\" >4226</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow1_col6\" class=\"data row1 col6\" >3.77%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col0\" class=\"data row2 col0\" >本科</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col1\" class=\"data row2 col1\" >16993</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col5\" class=\"data row2 col5\" >74215</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow2_col6\" class=\"data row2 col6\" >66.27%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col0\" class=\"data row3 col0\" >初中及以下</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col1\" class=\"data row3 col1\" >13312</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col2\" class=\"data row3 col2\" >9000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col3\" class=\"data row3 col3\" >10625</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col5\" class=\"data row3 col5\" >16</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col0\" class=\"data row4 col0\" >大专</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col1\" class=\"data row4 col1\" >13280</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col2\" class=\"data row4 col2\" >4500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col4\" class=\"data row4 col4\" >27500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col5\" class=\"data row4 col5\" >33084</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow4_col6\" class=\"data row4 col6\" >29.54%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col0\" class=\"data row5 col0\" >高中</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col1\" class=\"data row5 col1\" >8371</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col2\" class=\"data row5 col2\" >3317</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col3\" class=\"data row5 col3\" >6500</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col5\" class=\"data row5 col5\" >198</td>\n",
       "                        <td id=\"T_ded776ac_fd5d_11e9_b767_701ce71031efrow5_col6\" class=\"data row5 col6\" >0.18%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d556824588>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_edu=get_sub_stats_by_col(data[data.edu.isin(['初中及以下','高中','大专','本科','硕士','博士'])], 'edu')\n",
    "apply_style(data_edu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_associate=data[data.edu=='大专'].monthly_salary\n",
    "salary_bachelor=data[data.edu=='本科'].monthly_salary\n",
    "salary_master=data[data.edu=='硕士'].monthly_salary\n",
    "salary_phd=data[data.edu=='博士'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "大专，本科，硕士，博士的平均工资分别是13370，17330，21616，29881。中位数分别是12500， 15000，20000， 29000。\n"
     ]
    }
   ],
   "source": [
    "print('大专，本科，硕士，博士的平均工资分别是{:.0f}，{:.0f}，{:.0f}，{:.0f}。中位数分别是{:.0f}， {:.0f}，{:.0f}， {:.0f}。'.format(\n",
    "    salary_associate.mean(),salary_bachelor.mean(),salary_master.mean(),salary_phd.mean(),\n",
    "    salary_associate.median(),salary_bachelor.median(),salary_master.median(),salary_phd.median()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=59.622517128427326, pvalue=2.0523672564939208e-14)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_phd, salary_master)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=357.0392000962215, pvalue=4.344513200509027e-79)"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_master, salary_bachelor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=2005.4559833178453, pvalue=0.0)"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_bachelor, salary_associate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过Oneway Anova Test，证明从大专到博士，学历每提高一级，工资都有显著的提高。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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GPo2IQ4RaV8SHVkEv3exC/6vRa0BlCya6OGHH27wJfexymJpi4+pSHTZMtlXX33FkiVLmvV1mSLtQULXLJxzpYGfh5xz/wl8lea4Um7WrFmsX78+omzLli1s2bLFsywVVqxYEfqO3cbKokV/IX11dXXEcjz22GM89thjnv0nWi9Vopfto48+Yu7cuUm1Fb4OWno5HnvsMYYNGxaa3rJlS6P9T548merq6vQHJtLCEkoWZuYL+7kC+G6a42oRLZUsnHNs2rSJQYMGNVoWy7x58yKmo5NFJoq1bMcffzzTp09Pqr3oddBSDhw4wO7duznxxBNDZWeeeSaTJ09ulXhEWlOin4YaFvbTF/jvtEWURmvWrMHn83HmmWdy7bXXMnfuXObOncuFF14IwIwZMxqUzZo1i4KCAi644ALGjx/PwYMHcc5xzTXX4PP5uPDCC9m7d2+oj8svv7xBv0uXLmXChAlxy5xzTJw4kXPPPZcrrriCadOmherl5+eHXv/mN79h6tSpPPbYY+Tn57Nr1y4AXn/9dYYPH84ZZ5zBm2++GXH0vX79embNmgXAH/7wB4YNG0ZBQQH79u2Lu57uvfdezjvvPAYPHszWrVsBmDNnDueddx4XXngh7733HpMnT2bChAkMGjSIK664gokTJza6vNXV1aGdbPgoLxhrXl4eO3fupFevXnz44YeMHj065joI+sc//sGwYcPYt29fzPb279/PxRdfzNChQ7n22mtD/d5xxx2h98BHH31EbW0tBQUFDBo0iKuvvpr77rsv1MfixYu57rrrIvoNX5+ffPIJ48aNY+jQoRGjn1/84hcMGTKEn/3sZ3HXcW1tLWPHjsXn83HZZZdx8ODBmMsRXP5bb72Viy66KLR9/vSnP4W2y9NPP83nn3/O+PHj8fl83HTTTQDcddddPPXUU6FlD74WSUajySI4mgDWhf28DPRogdhSrqqqivLyci6//HJGjhzJ9OnTmT59On/5y18A/z9edBnA0KFDefHFF+nVqxfLly/nk08+obKykhdffJHi4uKIZPHMM89E9Hnw4EHeeuutiFMy0WV79uxh586dbNy4kXfffZcHH3wwZvw//elPmTdvHpMnT2b9+vUce+yxALzyyiusWrWK6dOn8+yzz8Zd/pycHNatW4fP52Px4sUx61RWVvLSSy/x17/+lXnz5rFp0ybeeOMN1q9fz8svv0xxcTG/+MUvALjppps47LDDeOCBB3j//ffjLm8iTjnlFFatWsXAgQNZvXo1AwYMiFv3ww8/ZOLEiSxZsoSjjjoqbp0pU6bwwgsvUF1dzccffwxEvgfWrl3L22+/TU5ODi+99BJVVVXcfvvtAOzdu5evvvqKXr16xY3jvvvu48orr2TDhg3s3buX559/HoAxY8bw8ssvs3Xr1rij1K1bt5KVlUV5eTnXXnst+/fvj9vPxo0bGTx4MKtWrQJgwoQJlJWVAVBeXs7o0aNZtGgR/fr1o7y8nA8//JDKykomTZrEH/7wBwBWrVrFpZdeGrcPES9eI4vgaGIWcAf+i9vTgXvTG1Z6TJrk/1DXiSeeyFdfJX7Z5eyzzwagf//+VFdX06NHDyZPnszFF1/Mo48+GneHBfD73/8+4qg7VtmRRx7Jl19+yaBBgxrUTcRVV11FdnZ2zOWqra0NvQ6eFhowYAD//Oc/Y7b19ttvk5eXF6o/adIk3nrrLc455xzMjHPPPZe33noLgNzcXDp16kRubi5ZWVlxl7cxwfgGDBjA0qVLGTNmDE8//XRoncfy29/+lpycHN5777247WVnZ/PII48wceJEPvnkk1B59Hugd+/ebN68GZ/Px09/+tNQOw8//DA//OEPG41969atoXU6aNCg0HpJZD0PGDCAfv36MWrUKFatWsWRRx4ZczkA+vXrFzFi7du3Lzt27OCzzz7jmGOOoWvXrrzzzjssW7aM/Px8/vWvf/HBBx9w6qmnsm/fPtavX0+/fv3o0qVLo8sj0phGk4Vz7pfOuV/6X7qLnHO3O+dGA3UtE15qde3aNWK6S5cufP7554D/VFC8sk2bNgHw2muv0adPH95//3169OjBqlWr6N27d4PRRNCXX37J+++/z2mnndZo2aZNm7jsssv4+9//zi233NLoMsSKL3q5DjvssNApquARKMDmzZsB/+ghNzc3Zvunn356qN7LL7/MNddcwxlnnMErr7yCc46NGzfy3e/GvmQVa9liCY8veDR+1llnsXbtWkaMGMGqVasaHVkUFxezYMECiouL47a3ePFixo8fz5IlSyLWT/S6ev755ykuLuZvf/tbKMnt2rWL7Oxsunfv3uhyfPe732Xjxo0AEeslkfX8+uuvM2TIEFavXs2ePXvYsGFDzOUA6Nat4T0zAwcOZN68eVxyySUAfPvb32bq1KmsX7+e2bNnh66zXHnllVx33XWhJCmSrESvWdSbWZGZXWBmbfJ6RSwjR47kmWeeYciQIWzYsCFu2SuvvEJ+fj6ffvopY8eO5fjjj2fFihUMGTIktIMLCj8CfPTRRxtcDI1Vdvrpp/Pggw8ybNgwrrjiilC/sZx11lm88847DB06lD/+8Y8x6wwfPpwVK1Zw0003cejQoVD59u3byc/PZ82aNfzoRz9qEC/4R0+DBw9myJAh3HHHHdx1113069eP/Px8hgwZwj333MOcOXNi9htr2YJqa2s5/PDDAbjkkkuYP38+P/nJT+jRw39Gc8CAAZx00kmccsopHHfccZx00klx18ERRxzBCSecwOmnn86zzz4bs72RI0cyZ84chg8fDsAHH3wQs62zzjqLKVOmMHz4cK688krefPNNHnnkkbijivDlmDFjBk899RTnn38+xxxzDKNGjQLgf//3fxkyZAgnn3xy3BFSbm4uJSUlnHfeeXz00Ufk5eXFXI54JkyYwLx58xg7diwA119/PWVlZfh8Ph566CFOOOEEAMaPH4+Zcf755zfanogn55znD3AMcCfwFjADyElkvnT+nH322a4l3HXXXW7dunVJzfvxxx8nVPbcc885n8/nRowY4caNG+eWLFmSVH+tLdayffnll27QoEFu8ODB7sUXX2yFqBq3aNEiN2zYMDdq1Cg3ZswYt27dupjL8e6777pzzz3XDRkyxG3durUVIm26N998051zzjnukUceae1QJIMAFS6Jfa65wKmMxpjZfOBbwMlAMXCDc+6SdCWwROTl5bmKiorWDCGjlJSUUFVVlfJ2dwTuCM9Jwx3hXvr06dMmb0aMFv1prqOPPprly5e3TjDS4ZnZZudcXlPnS/QO7u855/LNbK1z7s9mdltTO5L0qqqq4rV/vOYfA6ZS4INeu2xXihv28GnLdpdOmX5fjEgiEk0Wu8zsTqC7mRUCH6UxJknWMVCfX5/SJrPW+y9rpbrdRPsVkcyQ6H/kJPzHmH8DjgauTVtEIiKScRIaWTjnaoHfpDkWERHJUBrri4iIJyULERHxpGQhIiKelCxERMSTkoWIiHhSshAREU8dOlmUlJRQUlLS2mGIJEXvX2lJid7B3S6l41lKIi1F719pSR16ZCEiIolRshAREU9KFiIi4knJQkREPClZiIiIJyUL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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['大专','本科','硕士','博士']\n",
    "a=sns.boxplot(y='edu',x='monthly_salary',order=order,data=data[data.edu.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0.5,1.5), xytext=(2, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 工作经验 Working Experience"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >experience</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col0\" class=\"data row0 col0\" >10+</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col1\" class=\"data row0 col1\" >29462</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col2\" class=\"data row0 col2\" >12150</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col3\" class=\"data row0 col3\" >27500</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col5\" class=\"data row0 col5\" >403</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.30%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col0\" class=\"data row1 col0\" >5_10</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col1\" class=\"data row1 col1\" >22354</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col2\" class=\"data row1 col2\" >11500</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col5\" class=\"data row1 col5\" >17647</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow1_col6\" class=\"data row1 col6\" >13.32%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col0\" class=\"data row2 col0\" >3_5</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col1\" class=\"data row2 col1\" >17449</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col2\" class=\"data row2 col2\" >9000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col5\" class=\"data row2 col5\" >40428</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow2_col6\" class=\"data row2 col6\" >30.51%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col0\" class=\"data row3 col0\" >no</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col1\" class=\"data row3 col1\" >14044</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col5\" class=\"data row3 col5\" >39316</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow3_col6\" class=\"data row3 col6\" >29.67%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col0\" class=\"data row4 col0\" >1_3</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col1\" class=\"data row4 col1\" >13134</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col5\" class=\"data row4 col5\" >34733</td>\n",
       "                        <td id=\"T_e3d218a2_fd5d_11e9_aba8_701ce71031efrow4_col6\" class=\"data row4 col6\" >26.21%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d5568f4708>"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_experience=get_sub_stats_by_col(data, 'experience')\n",
    "apply_style(data_experience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_we_10=data[data.experience=='10+'].monthly_salary\n",
    "salary_we_5_10=data[data.experience=='5_10'].monthly_salary\n",
    "salary_we_3_5=data[data.experience=='3_5'].monthly_salary\n",
    "salary_we_1_3=data[data.experience=='1_3'].monthly_salary\n",
    "salary_we_no=data[data.experience=='no'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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8eLFTJ06lQ0bNnD66acDsGnTJlavXs2sWbNYsWJFzOXPy8tj/fr1+Hw+HnnkEc8y27Zt409/+hN//vOfWbx4MRs3buStt95iw4YNvPLKK5SWlnLHHXcAMG3aNE444QQWLVrE+++/H3N5E3H22WezevVq+vfvz5o1a7joootilt29ezeTJk1i2bJlnHzyyTHLlJSUsG7dOmpra/nwww+ByHXgxRdf5N133yUvL48//elP1NTUcOeddwJw8OBBvvjiC7p37x4zjgULFnDttdfy8ssvc/DgQf7whz8AMHr0aF555RW2b98ec7S5fft2srKyqKqq4oYbbqCuri5mO6+99hoDBw5k9erVAFx99dVUVlYCUFVVxahRo1iyZAl9+vShqqqK3bt3s23bNqZMmcKTTz4JwOrVqxk/fnzMNkSgkYTgnJsZ+D3UOTcs8DPUOdcmLzmdMmUKAN/4xjf44osvEv5c3759ASgoKKC2tpauXbsydepUvv/97/Poo4/G3CgBPPHEExF7z17zTjrpJI4cOcKAAQMalE3EddddR3Z2tudyHT58OPQ6eAjnoosu4q9//atnXe+++y79+vULlZ8yZQrvvPMOF198MWbGJZdcwjvvvANAfn4+HTp0ID8/n6ysrJjLG08wvosuuoinn36a0aNH88wzz4T63Mv9999PXl4eO3fujFlfdnY2Dz/8MJMmTeLAgQOh+dHrwJlnnsmWLVvw+Xz8+Mc/DtXz0EMP8a//+q9xY9++fXuoTwcMGBDql0T6+aKLLqJPnz6MHDmS1atXc9JJJ3kuB0CfPn0iRp69e/dm165dfPrpp3Tp0oWcnBzee+89li9fTmFhIX/729/44IMP+Na3vsVnn33Ghg0b6NOnD507d467PCLH1SGjnJyciOnOnTvz+eefA/7DNrHmbdy4EYA33niDnj178v7779O1a1dWr17NmWee2WBUEHTkyBHef/99evXqFXfexo0bmTBhAq+//jq333573GXwii96uU444YTQ4aTgniTAli1bAP8oID8/37P+c845J1TulVdeYfLkyZx33nls2rQJ5xyvvfYa3/nOdxJeXi/h8QX3qi+88EJefPFFhg8fzurVq+OOEEpLS3nggQcoLS2NWd8jjzzCxIkTWbZsWUT/RPfVH/7wB0pLS3n11VdDiWzv3r1kZ2dz6qmnxl2O73znO7z2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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['10+','5_10','3_5','1_3']\n",
    "sns.boxplot(y='experience',x='monthly_salary',order=order,data=data[data.experience.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(1.5,1.5), xytext=(1.55, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 公司 Company"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司性质 Company Type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_edb94046_fd5d_11e9_be88_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >company_type</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col0\" class=\"data row0 col0\" >事业单位</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col1\" class=\"data row0 col1\" >21395</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col3\" class=\"data row0 col3\" >16000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col5\" class=\"data row0 col5\" >1201</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.91%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col0\" class=\"data row1 col0\" >外资（欧美）</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col1\" class=\"data row1 col1\" >18614</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col2\" class=\"data row1 col2\" >6231</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col4\" class=\"data row1 col4\" >41538</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col5\" class=\"data row1 col5\" >6974</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow1_col6\" class=\"data row1 col6\" >5.26%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col0\" class=\"data row2 col0\" >合资</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col1\" class=\"data row2 col1\" >16261</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col2\" class=\"data row2 col2\" >6000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col3\" class=\"data row2 col3\" >14583</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col5\" class=\"data row2 col5\" >12555</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow2_col6\" class=\"data row2 col6\" >9.47%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col0\" class=\"data row3 col0\" >民营公司</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col1\" class=\"data row3 col1\" >15824</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col2\" class=\"data row3 col2\" >5000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col3\" class=\"data row3 col3\" >13500</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col5\" class=\"data row3 col5\" >95553</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow3_col6\" class=\"data row3 col6\" >72.10%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col0\" class=\"data row4 col0\" >外资（非欧美）</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col1\" class=\"data row4 col1\" >15776</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col3\" class=\"data row4 col3\" >13541</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col5\" class=\"data row4 col5\" >7865</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow4_col6\" class=\"data row4 col6\" >5.93%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col0\" class=\"data row5 col0\" >国企</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col1\" class=\"data row5 col1\" >14885</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col2\" class=\"data row5 col2\" >3750</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col3\" class=\"data row5 col3\" >13000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col4\" class=\"data row5 col4\" >30000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col5\" class=\"data row5 col5\" >8208</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow5_col6\" class=\"data row5 col6\" >6.19%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col0\" class=\"data row6 col0\" >非营利组织</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col1\" class=\"data row6 col1\" >13675</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col2\" class=\"data row6 col2\" >3021</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col4\" class=\"data row6 col4\" >33229</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col5\" class=\"data row6 col5\" >125</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow6_col6\" class=\"data row6 col6\" >0.09%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col0\" class=\"data row7 col0\" >外企代表处</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col1\" class=\"data row7 col1\" >11587</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col2\" class=\"data row7 col2\" >7000</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col3\" class=\"data row7 col3\" >9750</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col4\" class=\"data row7 col4\" >20900</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col5\" class=\"data row7 col5\" >46</td>\n",
       "                        <td id=\"T_edb94046_fd5d_11e9_be88_701ce71031efrow7_col6\" class=\"data row7 col6\" >0.03%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d5569a9588>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_type=get_sub_stats_by_col(data,'company_type')\n",
    "apply_style(data_company_type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "us_eu是欧美外企，startup是创业公司，listed是上市公司，state是国企，private是私企，foreign是非欧美外企，其他不足1000个样本的不管了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司规模 Company Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >company_size</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col0\" class=\"data row0 col0\" >10000+</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col1\" class=\"data row0 col1\" >23782</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col2\" class=\"data row0 col2\" >6000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col4\" class=\"data row0 col4\" >45271</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col5\" class=\"data row0 col5\" >8234</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow0_col6\" class=\"data row0 col6\" >6.21%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col0\" class=\"data row1 col0\" >5000-10000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col1\" class=\"data row1 col1\" >19447</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col2\" class=\"data row1 col2\" >7000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col3\" class=\"data row1 col3\" >16500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col4\" class=\"data row1 col4\" >46244</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col5\" class=\"data row1 col5\" >3311</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow1_col6\" class=\"data row1 col6\" >2.50%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col0\" class=\"data row2 col0\" >1000-5000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col1\" class=\"data row2 col1\" >16496</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col2\" class=\"data row2 col2\" >6500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col5\" class=\"data row2 col5\" >17741</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow2_col6\" class=\"data row2 col6\" >13.39%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col0\" class=\"data row3 col0\" >500-1000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col1\" class=\"data row3 col1\" >16441</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col3\" class=\"data row3 col3\" >15000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col5\" class=\"data row3 col5\" >14101</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow3_col6\" class=\"data row3 col6\" >10.64%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col0\" class=\"data row4 col0\" >150-500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col1\" class=\"data row4 col1\" >15893</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col3\" class=\"data row4 col3\" >14583</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col5\" class=\"data row4 col5\" >30040</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow4_col6\" class=\"data row4 col6\" >22.67%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col0\" class=\"data row5 col0\" >50-150</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col1\" class=\"data row5 col1\" >14942</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col2\" class=\"data row5 col2\" >5000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col3\" class=\"data row5 col3\" >13000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col4\" class=\"data row5 col4\" >32500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col5\" class=\"data row5 col5\" >38439</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow5_col6\" class=\"data row5 col6\" >29.00%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col0\" class=\"data row6 col0\" >50-</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col1\" class=\"data row6 col1\" >13823</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col2\" class=\"data row6 col2\" >4000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col4\" class=\"data row6 col4\" >32500</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col5\" class=\"data row6 col5\" >18210</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow6_col6\" class=\"data row6 col6\" >13.74%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col0\" class=\"data row7 col0\" ></td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col1\" class=\"data row7 col1\" >13035</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col2\" class=\"data row7 col2\" >7000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col3\" class=\"data row7 col3\" >7000</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col4\" class=\"data row7 col4\" >58333</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col5\" class=\"data row7 col5\" >2451</td>\n",
       "                        <td id=\"T_ef25950a_fd5d_11e9_a7ab_701ce71031efrow7_col6\" class=\"data row7 col6\" >1.85%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d55699ce48>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_size=get_sub_stats_by_col(data,'company_size')\n",
    "apply_style(data_company_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "公司越大，工资越高"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行业 Industry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >industry</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col0\" class=\"data row0 col0\" >finance</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col1\" class=\"data row0 col1\" >18074</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col2\" class=\"data row0 col2\" >4922</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col3\" class=\"data row0 col3\" >16000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col4\" class=\"data row0 col4\" >58333</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col5\" class=\"data row0 col5\" >4091</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow0_col6\" class=\"data row0 col6\" >3.09%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col0\" class=\"data row1 col0\" >logistic</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col1\" class=\"data row1 col1\" >17451</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col2\" class=\"data row1 col2\" >6000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col4\" class=\"data row1 col4\" >40000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col5\" class=\"data row1 col5\" >1775</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow1_col6\" class=\"data row1 col6\" >1.34%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col0\" class=\"data row2 col0\" >edu</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col1\" class=\"data row2 col1\" >16290</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col2\" class=\"data row2 col2\" >5463</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col3\" class=\"data row2 col3\" >14000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col4\" class=\"data row2 col4\" >40000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col5\" class=\"data row2 col5\" >8042</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow2_col6\" class=\"data row2 col6\" >6.07%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col0\" class=\"data row3 col0\" >computer</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col1\" class=\"data row3 col1\" >16020</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col2\" class=\"data row3 col2\" >5000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col3\" class=\"data row3 col3\" >14000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col5\" class=\"data row3 col5\" >101711</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow3_col6\" class=\"data row3 col6\" >76.75%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col0\" class=\"data row4 col0\" >service</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col1\" class=\"data row4 col1\" >15504</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col2\" class=\"data row4 col2\" >4300</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col3\" class=\"data row4 col3\" >15000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col5\" class=\"data row4 col5\" >1028</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.78%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col0\" class=\"data row5 col0\" >gov</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col1\" class=\"data row5 col1\" >15424</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col2\" class=\"data row5 col2\" >2500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col3\" class=\"data row5 col3\" >13500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col4\" class=\"data row5 col4\" >33736</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col5\" class=\"data row5 col5\" >1631</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow5_col6\" class=\"data row5 col6\" >1.23%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col0\" class=\"data row6 col0\" >energy</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col1\" class=\"data row6 col1\" >15218</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col2\" class=\"data row6 col2\" >3750</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col3\" class=\"data row6 col3\" >15000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col4\" class=\"data row6 col4\" >35000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col5\" class=\"data row6 col5\" >1140</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow6_col6\" class=\"data row6 col6\" >0.86%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col0\" class=\"data row7 col0\" >trade</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col1\" class=\"data row7 col1\" >15198</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col2\" class=\"data row7 col2\" >5060</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col3\" class=\"data row7 col3\" >14000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col4\" class=\"data row7 col4\" >33489</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col5\" class=\"data row7 col5\" >7148</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow7_col6\" class=\"data row7 col6\" >5.39%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col0\" class=\"data row8 col0\" >realestate</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col1\" class=\"data row8 col1\" >14888</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col2\" class=\"data row8 col2\" >3986</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col3\" class=\"data row8 col3\" >12500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col4\" class=\"data row8 col4\" >31500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col5\" class=\"data row8 col5\" >1812</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow8_col6\" class=\"data row8 col6\" >1.37%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col0\" class=\"data row9 col0\" >ads</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col1\" class=\"data row9 col1\" >14781</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col2\" class=\"data row9 col2\" >5250</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col3\" class=\"data row9 col3\" >12500</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col4\" class=\"data row9 col4\" >33725</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col5\" class=\"data row9 col5\" >1402</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow9_col6\" class=\"data row9 col6\" >1.06%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col0\" class=\"data row10 col0\" >medical</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col1\" class=\"data row10 col1\" >14586</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col2\" class=\"data row10 col2\" >5000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col3\" class=\"data row10 col3\" >13000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col4\" class=\"data row10 col4\" >30000</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col5\" class=\"data row10 col5\" >2747</td>\n",
       "                        <td id=\"T_f09d2474_fd5d_11e9_b13d_701ce71031efrow10_col6\" class=\"data row10 col6\" >2.07%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x1d556918748>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_industry=get_sub_stats_by_col(data,'industry')\n",
    "apply_style(data_industry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
